// Description: 批量替换 Photoshop 文档中的文字并导出为 PNG 图片
// 定义一个函数来选择文件或使用绝对路径
function openFile() {
    var filePath;
    // 弹出文件选择对话框
    var file = File.openDialog("请选择一个文件", "*.psd;*.psb");
    if (file != null) {
        filePath = file.fsName; // 获取文件路径
        return filePath;
    }
}
// 获取文件路径
var filePath = openFile();

if (filePath) {
    // 打开文件
    var doc = app.open(new File(filePath));
    alert("文件已打开：\n" + doc.name);
    // 字体设置（根据需要调整）
    var fontName = "SimSun"; // 字体名称，如 "Arial", "SimSun"（宋体）
    var fontSize = 18;      // 字体大小，单位为像素
    var fontColor = new SolidColor; // 文字颜色
    fontColor.rgb.hexValue = "FF0000"; // 红色

    // 文字图层名称（请根据实际情况修改）
    var textLayerName = "名字"; // 假设文字图层名称为 "名字"

    // 要替换的数组
    var names = ["天魔教护法·无心", "地魔教护法·无情", "玄魔教护法·无语", "黄魔教护法·无道", "白魔教护法·无忧", "黑魔教护法·无痕"];

    // 设置保存路径（请修改为你的路径）
    var savePath = "D:/桌面/自动处理文字/"; // 保存导出的 PNG 文件的路径

    // 确保保存路径存在
    if (!Folder(savePath).exists) {
        Folder(savePath).create();
    }

    // 遍历数组，替换文字并导出
    for (var i = 0; i < names.length; i++) {
        var currentName = names[i];

        // 查找文字图层并设置内容
        try {
            var textLayer = doc.artLayers.getByName(textLayerName);
            if (textLayer.kind === LayerKind.TEXT) {
                // 修改文字内容
                textLayer.textItem.contents = currentName;

                // 修改字体设置（可选）
                // textLayer.textItem.font = fontName;
                // textLayer.textItem.size = fontSize;
                // textLayer.textItem.color = fontColor;

                // 导出为 PNG
                var options = new ExportOptionsSaveForWeb();
                options.format = SaveDocumentType.PNG;
                options.PNG8 = false; // 使用 PNG-24 格式
                options.transparency = true; // 保留透明度

                var filePNG = new File(savePath + currentName + ".png");
                doc.exportDocument(filePNG, ExportType.SAVEFORWEB, options);

                // alert("已导出图片：" + currentName + ".png");
            }
        } catch (e) {
            alert("错误：未找到名为 '" + textLayerName + "' 的文字图层");
            break;
        }
    }
    alert("导出完成");

} else {
    alert("没有选择文件");
}
